Multi-Variant Execution of Parallel Programs
نویسندگان
چکیده
Multi-Variant Execution Environments (MVEEs) are a promising technique to protect software against memory corruption attacks. They transparently execute multiple, diversified variants (often referred to as replicae) of the software receiving the same inputs. By enforcing and monitoring the lock-step execution of the replicae’s system calls, and by deploying diversity techniques that prevent an attacker from simultaneously compromising multiple replicae, MVEEs can block attacks before they succeed. Existing MVEEs cannot handle non-trivial multi-threaded programs because their undeterministic behavior introduces benign system call inconsistencies in the replicae, which trigger false positive detections and deadlocks in the MVEEs. This paper for the first time extends the generality of MVEEs to protect multi-threaded software by means of secure and efficient synchronization replication agents. On the PARSEC 2.1 parallel benchmarks running with four worker threads, our prototype MVEE incurs a run-time overhead of only 1.32x.
منابع مشابه
Process algebraic modeling of authentication protocols for analysis of parallel multi-session executions
Many security protocols have the aim of authenticating one agent acting as initiator to another agent acting as responder and vice versa. Sometimes, the authentication fails because of executing several parallel sessions of a protocol, and because an agent may play both the initiator and responder role in parallel sessions. We take advantage of the notion of transition systems to specify authen...
متن کاملVisual Programming and Parallel Computing
Visual programming arguably provides greater benefit in explicit parallel programming, particularly coarse grain MIMD programming, than in sequential programming. Explicitly parallel programs are multi-dimensional objects; the natural representations of a parallel program are annotated directed graphs: data flow graphs, control flow graphs, etc. where the nodes of the graphs are sequential comp...
متن کاملParallel Execution Aware Data Structures
e observation that parallel processing inevitably runs into issues managing data movement is hardly new. e old joke “a supercomputer is an expensive device that transforms a compute-bound problem into an I/Obound problem” now has a new variant: “a manycore processor is a device that transforms a compute-bound problem into a memory bound problem.” As we enter the multicore and manycore era, data...
متن کاملS-Kendo: Deterministic execution for arbitrary programs
The emergence of Chip Multi-Processors (CMPs) and the continued scaling of the number of cores per chip necessitates that applications be parallelized to distribute work efficiently to different cores. However the deployment of shared-memory based multi-threaded software is slow. As a result application performance has not matched the performance offered by today's CMPs. While it is true that s...
متن کاملMulti-threaded composition of finite-state-automata
We investigate the composition of finitestate automata in a multiprocessor environment, presenting a parallel variant of a widely-used composition algorithm. We provide an approximate upper bound for composition speedup of the parallel variant with respect to serial execution, and empirically evaluate the performance of our implementation with respect to this bound.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1607.07841 شماره
صفحات -
تاریخ انتشار 2016